Today's rapidly changing technology requires application users to periodically migrate from one system to another, such from as a system implemented using Windows 7™ platform to a system implemented using Windows 8™ platform, or changes to runtime environment, such as App-V™. For every migration, users have to validate each application to ensure compatibility with the new system. This process might need to be repeated for every major and/or minor new release of a given system. As users demand new and improved features, the frequency of updating systems increases, thereby also increasing the importance of the migration from one system or version to another.
Such migration is critical for enterprise users running thousands of applications for any given project on any given system. And each such application can be associated with many different algorithms. That is, verification of applications and their associated algorithms for any given system can be very complex and time consuming. Traditionally, such migration and verification is implemented manually, costing the organization a significant number of man hours (or months or years) and cost.
While a number of current techniques can be used to perform an accurate analysis to detect compatibility and matching of an application across different systems, the current techniques often involve manual testing of hundreds of applications using diagnostic tools such as process monitoring and debuggers to discover any defects. A disadvantage for such a process is the specialized knowledge required by a person in-charge of the testing.
Another drawback with the current techniques is an inefficiency associated with application testing, where each application of a set of identical applications that are residing across different systems is verified for compatibility for the new platform. A reduction in the amount of time it takes to verify compatibility of applications between platforms is useful for applications users, especially when migrating between systems.
Yet another drawback with the current techniques is an inefficiency associated with verifying that each application of a set of identical applications that are residing across different systems is installed correctly. A reduction in the amount of time it takes to verify installation of applications between platforms is useful for applications users, especially when migrating between systems.